The files client library parses traditional local name service
configuration files such as /_e_t_c/_p_a_s_s_w_d and makes the data available
through the nnnnssssdddd((((1111MMMM)))) filesystem. This library is meant to be used only by
the nnnnssssdddd((((1111MMMM)))) daemon to efficiently access local name service data.
The library ////vvvvaaaarrrr////nnnnssss////lllliiiibbbb////lllliiiibbbbnnnnssss____ffffiiiilllleeeessss....ssssoooo is opened by the nnnnssssdddd((((1111MMMM)))) daemon
when ffffiiiilllleeeessss is listed as the protocol for some map in a nnnnsssssssswwwwiiiittttcccchhhh....ccccoooonnnnffff
file.
Extended attributes in the nnnnsssssssswwwwiiiittttcccchhhh....ccccoooonnnnffff file can be used to control the
behavior of the files library. Extended attributes are simply lists of
key/value pairs attached to each object in the nsd filesystem. The
attributes supported in this library are:
ccccoooommmmppppaaaatttt
The ccccoooommmmppppaaaatttt attribute is only used for the password file. This
attribute specifies that lines beginning with +/- represent entries
supported in later libraries and results in a recursive call into
nsd. When the directive [[[[nnnnoooottttffffoooouuuunnnndddd====rrrreeeettttuuuurrrrnnnn]]]] follows this line then
entries which are not in the local password file, or where there is
no +/- entry which matches will fail. This allows the historic
behavior at the cost of performance. To get the same behavior from
previous OS releases use the following line for the password entry:
The lllliiiibbbbrrrraaaarrrryyyy____ccccoooommmmppppaaaatttt attribute is set when a entry is generated from a
+/- compat request. Similar to the lllliiiibbbbrrrraaaarrrryyyy attribute, it will be
set to the name of the library that the compat information was
returned from.
ddddoooommmmaaaaiiiinnnn
The ddddoooommmmaaaaiiiinnnn attribute determines the path used to find the source
file. This attribute is typically inherited from the daemon
depending on the nsswitch.conf ` file that is being read. Given the
configuration file ////vvvvaaaarrrr////nnnnssss////ddddoooommmmaaaaiiiinnnnssss////DDDDOOOOMMMMAAAAIIIINNNNNNNNAAAAMMMMEEEE////nnnnsssssssswwwwiiiittttcccchhhh....ccccoooonnnnffff the
attribute "domain" is set to DOMAINNAME. Given a domain DOMAINNAME
the library would open the file ////vvvvaaaarrrr////nnnnssss////ddddoooommmmaaaaiiiinnnnssss////DDDDOOOOMMMMAAAAIIIINNNNNNNNAAAAMMMMEEEE////FFFFIIIILLLLEEEE
where file is the tradition file name for each table. If a table
does not match one of the traditional files then the table name
itself is used for the file name. If the domain attribute is unset
then the file ////eeeettttcccc////FFFFIIIILLLLEEEE would be used. See the information about
the ttttaaaabbbblllleeee and ffffiiiilllleeee attributes below. A client system can be a
member of multiple domains by including multiple instances of the
ffffiiiilllleeeessss keyword in the nsswitch.conf file like:
hosts: files(domain=engr) files(domain=corp)
ffffiiiilllleeee The file attribute overrides the domain and table attributes to set
the name of the file to be opened. If the file begins with a
leading '/' then that file is simply opened. If not, then the
contents of this attribute are appended to the directory name --
either ////eeeettttcccc//// for the default domain, or ////vvvvaaaarrrr////nnnnssss////ddddoooommmmaaaaiiiinnnnssss////DDDDOOOOMMMMAAAAIIIINNNNNNNNAAAAMMMMEEEE////
when the domain attribute is set. The default files for each of the